home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 19 / Night Owl (The Best of Shareware)(NOPV 19)(1996).ISO / 007a / mxl214b.zip / GERMDOC.ZIP / TEMPLATE.DOC < prev    next >
Text File  |  1995-12-27  |  37KB  |  925 lines

  1.  
  2.         ▀▀▀   ▀▀▀   ▀▀▀▀▀   ▀▀   ▀▀  ▀▀       ▀▀▀▀▀▀   ▀▀▀▀▀   ▀▀▀▀▀▀▀▀
  3.         ▀▀▀▀ ▀▀▀▀  ▀▀   ▀▀   ▀▀ ▀▀   ▀▀         ▀▀    ▀▀          ▀▀
  4.         ▀▀ ▀▀▀ ▀▀  ▀▀▀▀▀▀▀    ▀▀▀    ▀▀         ▀▀     ▀▀▀▀▀      ▀▀
  5.         ▀▀  ▀  ▀▀  ▀▀   ▀▀   ▀▀ ▀▀   ▀▀         ▀▀         ▀▀     ▀▀
  6.         ▀▀     ▀▀  ▀▀   ▀▀  ▀▀   ▀▀  ▀▀▀▀▀▀▀  ▀▀▀▀▀▀  ▀▀▀▀▀▀      ▀▀
  7.  
  8.          Multifunktionaler, Multilinefähiger und Templategesteuerter
  9.                  Filebaseprozessor für Maximus CBCS Systeme
  10.  
  11.                                Version  2.14
  12.  
  13.                  Copyright 1994 - 1995 by Wilfried Brinkmann
  14.  
  15.                            Alle Rechte Vorbehalten
  16.  
  17.  
  18.            ────────────────────────────────────────────────────────
  19.             Anleitung und Übersicht zu den MaxList Template-Tokens
  20.            ════════════════════════════════════════════════════════
  21.  
  22.     MaxList verwendet für ALLE Ausgaben in den Listen und Files.bbs Dateien
  23.     sogenannte Templates (Vorlagen). Diese enthalten die Anweisungen, wie
  24.     der Kopf und die einzelnen Zeilen ausehen sollen.
  25.  
  26.  
  27.                           Allgemeine Hinweise
  28.                          ─────────────────────
  29.  
  30.     Es gibt keine Zeilenlängenbegrenzung für Templates und Filebeschreibungen.
  31.     Ein Template. bzw eine Dateibschreibung kann maximal 8Kb groß sein.
  32.     Größere Beschreibungen werden OHNE Warnung auf 8192 Zeichen gekürzt!
  33.     Der Interner Bearbeitungspuffer ist entsprechend größer, um eventuelle
  34.     Umformatierungen durchführen zu können.
  35.  
  36.     Da logischerweise in einer Zeile sehr viele Tokens stehen können, würde
  37.     der Text schnell unleserlich oder ist nicht mehr anzufertigen.
  38.  
  39.     Deshalb kannst Du an jeder Stelle einen physikalischen Zeilenumbruch
  40.     einsetzen. Das heisst, eine logische Zeile kann sich über mehrere
  41.     Textzeilen erstrecken. Als Trennzeichen wird der Backslash verwendet "\".
  42.  
  43.     Beispiel:
  44.         @Format(@FileName @FileSize(#######) \
  45.         @FileDate(DD.MM.YYF) \
  46.         @Adjust("@AreaName",l,15,t) @Adjust("@FilePath",l,32,t))
  47.  
  48.     Das ganze wird später in einer Zeile dargestellt.
  49.     Das Zeichen \ selbst, sowie alle nachfolgenden Leerzeichen und
  50.     CRLF's werden entfernt. Am Ende des gesamten Strings wird automatisch
  51.     EIN CRLF angefügt, unabhängig davon, wieviele im Text stehen.
  52.  
  53.     Wird das Zeichen \ selber im Text benötigt, muss es doppelt angegeben
  54.     werden. In diesem Fall wird das Zeichen \ einmal dargestellt.
  55.     So wird aus "Backslash \\ im Text" ein "Backslash \ im Text".
  56.  
  57.     In den BBS-Headertemplates können MECCA-Colortokens verwendet werden.
  58.     Diese werden vom MaxList übersetzt.
  59.     Folgende MECCA-Tokens sind möglich:
  60.  
  61.       [cls]   - Bildschirm löschen
  62.  
  63.     Farben:
  64.       Vordergrund und Hintergrund     Nur bei Vordergrund
  65.       ---------------------------     -------------------
  66.       [black]                         [darkgray]
  67.       [blue]                          [lightblue]
  68.       [green]                         [lightgreen]
  69.       [cyan]                          [lightcyan]
  70.       [red]                           [lightred]
  71.       [magenta]                       [lightmagenta]
  72.       [brown]                         [yellow]
  73.       [gray]                          [white]
  74.  
  75.     Um gleichzeitig Vorder- und Hintergrundfarbe zu setzen, MUSS das Token
  76.     ON verwendet werden, z.B. [white ON Blue].
  77.  
  78.     CLS kann zusammen mit einer Coloranweisung stehen, z.B. [cls red on blue].
  79.     Wird die eckige Klammer ([) als Textzeichen gebraucht, muss diese zweimal
  80.     angegeben werden, z.B. so: [cls white][[Weiss] [[[yellow]Gelb[white]].
  81.  
  82.     MaxList schreibt automatisch das MECCA-Token [left cr lf] an das Ende
  83.     jeder Zeile des BBSHeaders. Über diese Zeichenfolge erkennt MaxList
  84.     den Header und ist so in der Lage, diesen auch wieder zu entfernen.
  85.  
  86.     MaxList führt keinen umfangreichen Syntaxcheck durch. Wenn Du also
  87.     die Tokens falsch schreibst, oder die Klammerung fehlerhaft ist, wird
  88.     das Ergebnis nicht vorhersehbar sein.
  89.  
  90.     Deswegen hier nochmal der Hinweis:
  91.  
  92.         SCHALTE FÜR DIE ERSTEN TESTLÄUFE DEN DEBUGG MODE EIN !!!!!
  93.  
  94.     Nur so kannst Du verhindern, das die Files.bbs Dateien verändert werden.
  95.     Das Ergebnis der Bemühungen von MaxList kannst Du Dir in den FILES.$$$
  96.     Dateien ansehen.
  97.  
  98.  
  99.  
  100.                               Die Templates
  101.                              ───────────────
  102.  
  103.     Nachfolgend sind alle Templates, deren Funktion und Einsatz beschrieben.
  104.  
  105.     Es gibt fünf Templatetypen: BBS, AREA, GROUP, REPORT und TITLE.
  106.     Die Templates AREA, GROUP und REPORT unterteilen sich nochmals in
  107.     HEADER und FOOTER, sodaß insgesamt acht Templates zur Verfügung stehen.
  108.  
  109.     Die HEADER Templates von BBS, AREA und GROUP enthalten jeweils eine
  110.     Anweisung, wie die einzelnen Dateieinträge ausehen sollen.
  111.  
  112.     Diese Anweisung lautet @FORMAT(@ID @ID ... @ID) und MUSS am Ende
  113.     des Templates stehen.
  114.     Wenn Du keinen Kopf haben willst, schreibst Du nur diese Anweisung in
  115.     das entsprechende Template.
  116.  
  117.     Innerhalb der Klammer werden dann die einzelnen Token (@ID) für
  118.     Dateiname, Dateigröße, Datum, Dateibeschreibung etc. angegeben.
  119.     Welche Parameter möglich sind, ist vom jeweiligem Template abhängig.
  120.     Tokens, die nicht ersetzbar sind, werden entfernt. Stehen diese dann
  121.     innerhalb einer @ADJUST Anweisung, wird ein entsprechender Leerstring
  122.     eingesetzt!
  123.  
  124.  
  125.     Das Template BBSHEADER
  126.     ──────────────────────
  127.     Für die Files.bbs Dateien kannst Du für jede Area oder Gruppe einen
  128.     eigenen Header erstellen. Bedenke jedoch, das ALLE Templates ständig
  129.     im Speicher gehalten werden. Unter DOS sind der Sache Grenzen gesetzt.
  130.  
  131.     Es sollte mindestens ein BBSHeader angegeben werden. Erfolgt keine Angabe,
  132.     verwendet MaxList einen Internen, der nicht geändert werden kann.
  133.  
  134.     Der Interne BBSHeader besteht nur aus der Formatzeile:
  135.         @Format(@FileName FileDesc(31, 79))
  136.  
  137.  
  138.     WICHTIGER HINWEIS FÜR MAXIMUS 3.0 BENUTZER!
  139.     ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ 
  140.  
  141.     MaxList unterstützt auch ein spezielles Format der Files.bbs Datei,
  142.     welches sowohl Dateigröße als auch Dateidatum enthält.
  143.  
  144.     Maximus 3.0 kennt hierfür einen speziellen Typ, der mit der Anweisung
  145.         TYPE  DATELIST
  146.     in der Area-Definition festgelegt wird.
  147.  
  148.     Für diesen speziellen Fall ist ein Template notwendig, in dem die
  149.     @FORMAT Anweisung wie folgt aussehen muss:
  150.  
  151.         @Format(@FileName \
  152.         @FileSize(#######_f)@FileDate(MM-DD-YY__)\
  153.         @FreeDwnLd@DlCounter@FileDesc(31,79))
  154.  
  155.     Die Randeinstellungen bei @FILEDESC kannst Du auf Deine Bedürfnisse
  156.     ändern. Ebenso kann @FREEDWNLD und @DLCOUNTER entfallen, wenn Du dieses
  157.     nicht benötigst. Im einfachsten Fall enthält die @FORMAT Anweisung dann
  158.  
  159.         @Format(@FileName \
  160.         @FileSize(#######_f)@FileDate(MM-DD_YY__)@FileDesc(31,79))
  161.  
  162.     HINWEIS:
  163.         Du kannst diese @FORMAT Anweisung auch für Areas ohne TYPE DATELIST
  164.         benutzen. In diesen Fall wird MaxList KEINE Dateigröße und Datum in
  165.         die Files.bbs Dateien eintragen.
  166.         Somit ist es möglich, mit EINEM Template ALLE Areas zu bearbeiten !
  167.         Dieses Template findest Du im Archiv unter BBSHDR3.TPL !
  168.  
  169.  
  170.     Das Template LISTTITLE
  171.     ──────────────────────
  172.     Optional kannst Du ein Titel-Template benutzen.
  173.     Damit kannst Du z.B. den Listentyp unmittelbar nach Deinem Logo
  174.     (ListHeaderFile) in die Liste einsetzen. Ich verwende für diesen
  175.     Titel einen Graphik-Font, der mir den Listenname mittig zentriert
  176.     einsetzt. 
  177.     Weiterhin können hier Datum, Uhrzeit und Tag, sowie die verwendeten
  178.     Newfileflags eingetragen werden. Für die Parameter sind entsprechende
  179.     Tokens vorhanden. Siehe dazu auch Template TITLE.TPL
  180.  
  181.  
  182.     Die AREA Templates (AreaHeader / AreaFooter)
  183.     ────────────────────────────────────────────
  184.     Du kannst zwei Templates für jede Area definieren, AreaHeader und
  185.     AreaFooter. Der Footer ist optional.
  186.     Im Header MUSS eine @FORMAT Anweisung enthalten sein.
  187.  
  188.     Der Header wird am Anfang jeder Area ausgegeben. Danach folgen die
  189.     einzelnen Dateien.
  190.     Am Ende jeder Area KANN ein Footer ausgegeben werden.
  191.  
  192.     Für die DUPE-Liste wird ebenfalls der AreaHeader und die darin enthaltene
  193.     @FORMAT Anweisung verwendet, um die einzelnen DUPE-Dateien aufzulisten.
  194.     (Siehe Template DUPEHDR.TPL)
  195.  
  196.  
  197.     Die GROUP Templates (GroupHeader / GroupFooter)
  198.     ───────────────────────────────────────────────
  199.     Diese beiden Templates werden in den Reportlisten benötigt.
  200.     Der GroupHeader MUSS wieder die @FORMAT Anweisung enthalten.
  201.     Der Footer ist optional.
  202.  
  203.     Der Header wird vor jeder Area der Gruppe ausgegeben, danach folgen die
  204.     einzelnen Area-Einträge für diese Gruppe.
  205.  
  206.  
  207.     Die REPORT Templates (ReportHeader / ReportFooter)
  208.     ──────────────────────────────────────────────────
  209.     Diese beiden Templates sind optional.
  210.     Der ReportHeader wird an den Anfang der Statistik geschrieben, der
  211.     Footer am Ende, unmittelbar vor meiner Copyright-Notiz.
  212.     In den Report Templates wird keine @Format Anweisung benötigt.
  213.  
  214.  
  215.     Prinzipieller Aufbau einer Fileliste:
  216.  
  217.         ┌───────────────────────────────────┐
  218.         │ FileListHeader (Optional)         │
  219.         │ ...                               │   
  220.         ├───────────────────────────────────┤
  221.         │ ListTitle      (Optional)         │
  222.         │ Datum, Zeit, Programmname, Flags  │
  223.         ╞═══════════════════════════════════╡ ──┐ 
  224.         │ AreaHeader mit @Format Anweisung  │   │
  225.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  226.         │ Datei Beschreibung                │   │
  227.         │   ...                             │   │
  228.         │ Datei Beschreibung                │   ├── Nicht bei Reportlisten.
  229.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Bei Dupelisten nur ein
  230.         │ AreaFooter     (Optional)         │   │   AreaHeader.
  231.         ├───────────────────────────────────┤   │
  232.         │ ... weitere Areas                 │   │
  233.         ╞═══════════════════════════════════╡ ══╡  
  234.         │ ReportHeader   (Optional)         │   │
  235.         ├───────────────────────────────────┤   │
  236.         │ GroupHeader mit @Format Anweisung │   │
  237.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │
  238.         │ Areas dieser Gruppe               │   │
  239.         │   ...                             │   ├── Nur wenn AllAreaReport
  240.         │ Areas dieser Gruppe               │   │   auf YES steht.
  241.         ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤   │   Immer bei Reportlisten.
  242.         │ GroupFooter    (Optional)         │   │
  243.         ├───────────────────────────────────┤   │
  244.         │ ... weitere Gruppen               │   │
  245.         ├───────────────────────────────────┤   │
  246.         │ ReportFooter   (Optional)         │   │
  247.         ╞═══════════════════════════════════╡ ──┘
  248.         │ FileListFooter (Optional)         │
  249.         │ ...                               │   
  250.         ├───────────────────────────────────┤
  251.         │        Copyright Logo             │
  252.         └───────────────────────────────────┘
  253.  
  254.  
  255.     Beispiel einer Newfilesliste mit Titel, AreaHeader, GroupHeader und
  256.     ReportHeader:
  257.  
  258.  
  259.                  █▄  █ █▀▀▀▀ █   █ █▀▀▀▀ ▀█▀ █     █▀▀▀▀ ▄▀▀▀▀                 
  260.         ▀▀▀▀▀    █ ▀▄█ █▀▀▀  █▄▀▄█ █▀▀▀   █  █     █▀▀▀   ▀▀▀▄    ▀▀▀▀▀        
  261.                  ▀   ▀ ▀▀▀▀▀ ▀   ▀ ▀     ▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀                  
  262.      This list was created at 22:50 on Monday, 18.Dec 95 by MAXLIST+ v2.14
  263.  
  264.                       All files are less than 30 days old.                     
  265.  
  266. ═══════════════════════════════════════════════════════════════════════════════
  267.  ▄▀▀▀▄ ║ Lokales Echo
  268.   ▄▀▀  ║ Available: 3 files (236.918 Bytes)
  269.  ▀▀▀▀▀ ║ Newest: FRO_PWAD.ZIP  (03.09.1995, 79084 Bytes)
  270. ───────────────────────────────────────────────────────────────────────────────
  271. Filename        Size    Date   Description
  272. ──────────── ─────── ───────── ────────────────────────────────────────────────
  273. CTFILES.ZIP    24944 01.09.95  Alle neuen C't Files; =================
  274. FRO_PWAD.ZIP   79084 03.09.95  Frodo PWAD for DOOM2 and Heretic
  275.                                DOOM2 level 1, 2, and 3
  276.                                Heretic e1m1, m2, and m3
  277. GERFAQ4A.ZIP  132890 29.08.95  FAQ zu OS/2 Warp 3, deutschsprachige
  278.                                Ausgabe 3a v. 03.03.95, TXT und INF.
  279.  
  280. ╒═════════╤═════════════════════════════════════════════════════════╤═════════╕
  281. │░▒▓███▓▒░│                     NEWFILES SUMMARY                    │░▒▓███▓▒░│
  282. │░▒▓███▓▒░├─────────────────────────────────────────────────────────┤░▒▓███▓▒░│
  283. │░▒▓███▓▒░│        72 files (5.553 Kb) in 24 Areas (6 Groups)       │░▒▓███▓▒░│
  284. ╘═════════╧═════════════════════════════════════════════════════════╧═════════╛
  285.  
  286. Group: GFD.APP - Gfd-Net Applicationen                                         
  287. Available: 9 files (694 Kb) in 3 areas                                         
  288. ═══════════════════════════════════════════════════════════════════════════════
  289. Area              Description                                  Files      Bytes
  290. ───────────────── ─────────────────────────────────────────── ────── ──────────
  291. GFD.APP.ARC       Archiver                                         3       231K
  292. GFD.APP.BACK      Backup Tools                                     3       231K
  293. GFD.APP.EDIT      Editoren                                         3       231K
  294.  
  295. Group: GFD.FNT - Gfd-Net Mailbox Programm                                      
  296. Available: 18 files (1.388 Kb) in 6 areas                                      
  297. ═══════════════════════════════════════════════════════════════════════════════
  298. Area              Description                                  Files      Bytes
  299. ───────────────── ─────────────────────────────────────────── ────── ──────────
  300. GFD.FNT.BBS       BBS Programme                                    3       231K
  301. GFD.FNT.DOOR      Door Programme                                   3       231K
  302. GFD.FNT.MISC      Diverse Tools                                    3       231K
  303. GFD.FNT.PNT       Pointprogramme                                   3       231K
  304. GFD.FNT.TOSS      Tosser                                           3       231K
  305.  
  306. Available: 3 files (231 Kb) in 1 area                                     
  307. ═══════════════════════════════════════════════════════════════════════════════
  308. Area              Description                                  Files      Bytes
  309. ───────────────── ─────────────────────────────────────────── ────── ──────────
  310. 2                 Lokales Echo                                     3       231K
  311.  
  312.    ╒═══════════════════════════════════════════════════════════════════════╕
  313.    │         This list was produced by MAXLIST+ (Version 2.14∙OS2)         │
  314.    │   Copyright 1994/95 by Wilfried Brinkmann, 45529 Hattingen, Germany   │
  315.    ╘═══════════════════════════════════════════════════════════════════════╛
  316.                        Registered to: Wilfried Brinkmann                       
  317.  
  318.  
  319.  
  320.                         Die Template Tokens
  321.                        ─────────────────────
  322.  
  323.     In folgendem Abschnitt findest Du nun alle Templatetokens erläutert.
  324.     Zu dem jeweiligen Token ist angegeben, in welchem Abschnitt bzw.
  325.     in welchem Template Du dieses einsetzen kannst.
  326.  
  327.     Teilweise bringen gleiche Tokens unterschiedliche Ergebnisse.
  328.     Das trifft insbesondere für die Summen zu, z.B. bei @FILES.
  329.  
  330.     JEDES Token beginnt mit einem Klammeraffen "@". Hat das Token Parameter,
  331.     dann müssen diese in Klammern "( )" stehen. Die einzelnen Parameter
  332.     innerhalb der Klammer werden durch ein Komma "," voneinander getrennt.
  333.  
  334.     Groß-/Kleinschreibung ist nicht von Bedeutung. Die Tokens können beliebig
  335.     geschachtelt werden, d.h. innerhalb der Parameter eines Tokens können
  336.     weitere Tokens benutzt werden.
  337.  
  338.         Beispiel:  @Adjust(@Adjust(@Adjust("Test1",l,5),l,10),r,20)
  339.  
  340.     Optionale Parameter sind in eckigen Klammern dargestellt. Diese
  341.     Klammern dürfen im Template natürlich NICHT eingesetzt werden.
  342.     Hat ein Token mehrere Optionen, kann der nicht verwendete Teil
  343.     ausgelassen werden. Die Kommas müssen jedoch gesetzt werden.
  344.  
  345.         Beispiel:   @FileDesc(31,79,,TF)
  346.  
  347.  
  348.  
  349.     Die @FORMAT Anweisung
  350.     ─────────────────────
  351.     Syntax: @Format(@ID @ID .... @ID)
  352.  
  353.     Diese Anweisung ist, wie schon gesagt, für das Format der einzelnen
  354.     Dateieinträge in der Files.bbs und den Listen zuständig.
  355.  
  356.     Die Anweisung MUSS in folgenden Templates eingesetzt werden:
  357.  
  358.         BBSHeader       - Für die Files.bbs
  359.         AreaHeader      - Für die Filelisten
  360.         GroupHeader     - Für die Reportlisten
  361.  
  362.     In anderen Templates hat diese Anweisung nichts zu suchen. Steht sie
  363.     trotzdem drin, wird MaxList das geflissentlich ignorieren.
  364.  
  365.     Beispiel einer Format Anweisung:
  366.         @Format(@FileName @FreeDwnLd@DlCounter@Filedesc(31,79))
  367.  
  368.     Nach der Übersetzung durch MaxList, sieht die Files.bbs etwa so aus:
  369.  
  370.     NWFAQ503.ARJ /bt [00] Novell FAQ Version 03/95  ASCII-Version
  371.                                    deutschsprachige FAQ ueber alles, was
  372.                                    mit Novell zu tun hat.
  373.                                    inkl. aktueller File- und Mailboxliste
  374.  
  375.  
  376.     @LISTTYP
  377.     ────────
  378.     Syntax:     @ListTyp
  379.     Templates:  Alle außer BBS und @FORMAT Anweisung
  380.  
  381.     Für diese Token wird der Typ der Liste ausgegeben.
  382.     Listentypen:
  383.         ALL        [Name]   - [Name] oder ALLFILES
  384.         NEW <Tage> [Name]   - [Name] oder NEWFILES
  385.         PART       [Name]   - [Name]  (Wenn angegeben)
  386.         REPORT     [Name]   - [Name] oder REPORT
  387.         DUPE       [Name]   - [Name] oder DUPES
  388.         ORPHAN     [Name]   - [Name] oder ORPHAN
  389.  
  390.     !!! WICHTIGER HINWEIS:
  391.         Wird @ListTyp mit @Test benutzt, wird nicht der Name der Liste,
  392.         sondern der Typname als vergleich benutzt !
  393.  
  394.         @Test(@ListTyp,=,All, ...)  ergibt TRUE, wenn die Liste von
  395.         Typ ALL ist.
  396.  
  397.  
  398.     @TEST
  399.     ─────
  400.     Syntax:     @Test(@ID1, <|=|>|<>|[], @ID2, @IDTrue, @IDFalse)
  401.     Templates:  Alle
  402.  
  403.     Zum Testen von Parametern.
  404.     @ID1 wird mit @ID2 verglichen.
  405.     Vergleichsoperatoren:
  406.       <     - Kleiner
  407.       =     - Gleich
  408.       >     - Größer
  409.       <>    - Ungleich
  410.       []    - In Bereich
  411.  
  412.     In Abhängigkeit des Vergleichs wird @IDTrue oder @IDFalse ausgegeben.
  413.  
  414.     Beispiele:  @Test(@Groups,>,1,(@Groups Groups),"")
  415.                 Hier wird die Anzahl der Gruppen nur dann ausgegeben, wenn
  416.                 die Anzahl größer 1 ist.
  417.  
  418.                @Test(@AreaTag,[],12..99,"Geheim",@AreaTag)
  419.                Ist der Areatag in 12 bis 99, wird "Geheim" ausgegeben,
  420.                andernfalls der Areatag.
  421.                 
  422.  
  423.     @FILEPATH
  424.     ─────────
  425.     Syntax:     @FilePath
  426.     Templates:  Alle außer TitleTemplate und BBS
  427.  
  428.     Laufwerk und Pfad(e) wie in DownLoad angegeben, z.B. D:\LISTEN\SHUTTLE\.
  429.     Enthält die Files.bbs eine Pfadangabe vor dem Dateinamen, wird diese
  430.     Angabe verwendet.
  431.  
  432.  
  433.     @FILENAME
  434.     ─────────
  435.     Syntax:     @FileName
  436.     Templates:  In allen @FORMAT Anweisungen
  437.  
  438.     Hier wird der Name der Datei linksbündig mit einer Feldlänge von 12
  439.     Zeichen ausgegeben. Ist der Name kürzer als 12 Zeichen, wird mit
  440.     Leerzeichen aufgefüllt, z.B. "ABC.ZIP_____"
  441.  
  442.     Ein Pfad in der Files.bbs wird in den Listen nicht ausgegeben, hingegen
  443.     bleibt dieser in der Files.bbs erhalten.
  444.  
  445.  
  446.     @FILEDATE
  447.     ─────────
  448.     Syntax:     @FileDate(DateFormat)
  449.     Templates:  In allen @FORMAT Anweisungen
  450.  
  451.     Das Datum kann beliebig formatiert werden. DateForm MUSS angegeben
  452.     werden. Folgende Parameter und Formate sind möglich:
  453.  
  454.         D   - Tag (Day)     01 .. 31
  455.         M   - Monat (Month) 01 .. 12, oder Monatsnamen (Jan, Feb etc)
  456.         Y   - Jahr (Year)   
  457.         F   - Flagzeichen für neue Datei
  458.               Ist die Datei älter als für das Flag vorgesehen, wird ein
  459.               Leerzeichen eingesetzt.
  460.         _   - Unterstreichstrich, wird durch ein Leerzeichen ersetzt.
  461.  
  462.     Formatbeispiele:
  463.  
  464.         DD.MM.YY        - 20.09.95
  465.         MM.YYYY         - 09.1995
  466.         DD-MM-YYF       - 20-09-95+
  467.         D.M.YF          - 20.09.95+
  468.         DD.MMM_YYYY     - 20.Sep 1995
  469.         D.M.YYY         - 20.09.1995
  470.         DD-MM-YYF_      - 20-09-95+_  (_ ist ein Leerzeichen)
  471.  
  472.  
  473.     @FILESIZE
  474.     ─────────
  475.     Syntax:     @FileSize(SizeFormat)
  476.     Templates:  In allen @FORMAT Anweisungen
  477.  
  478.     Die Größe einer Datei. Die Zahl kann beliebig formatiert, und in andere
  479.     Größeneinheiten umgewandelt werden.
  480.     Die Einheiten werden in Byte gerechnet und können nach KiloByte
  481.     (div 1024) bzw. MegaByte (div 1048576) umgerechnet werden.
  482.  
  483.     HINWEIS:
  484.         In den BBS Templates für TYPE DATELIST darf KEINE Umwandlung in
  485.         andere Einheiten erfolgen. Die Formatierung für diese Templates
  486.         MUSS folgendes Format haben:    @FileSize(#######_F)
  487.  
  488.     Formatzeichen:
  489.         #   - Wird durch eine Zahl ersetzt
  490.         K   - Umrechnung in Kilobytes
  491.         M   - Umrechnung in Megabytes
  492.         F   - Mit Leerzeichen auffüllen
  493.         _   - Unterstreichstrich, wird durch ein Leerzeichen ersetzt.
  494.  
  495.         BEACHTE: Die Formatzeichen K, M, F MÜSSEN am Ende stehen !
  496.  
  497.     Formatbeispiele:
  498.  
  499.         Keine Angabe (Leere Klammer)        123456789
  500.         Ein oder mehrere #                  123456789
  501.         #.###.###                           12.346.789
  502.         K (Umrechnung KiloByte)             120563
  503.         #.###.###K                          120.563
  504.         M (Umrechnung MegaByte)             117
  505.         #.###.###M                          117
  506.         #.###F                              123456.789
  507.         #######MF                           ____117  (_ ist ein Leerzeichen)
  508.         #.###_M                             117_     (_ ist ein Leerzeichen)
  509.  
  510.  
  511.     @FREEDWNLD
  512.     ──────────
  513.     Syntax:     @FreeDwnLd
  514.     Templates:  Nur in der @FORMAT Anweisung bei den BBS Templates
  515.  
  516.     An dieser Stelle wird, wenn in der Konfig definiert (FreeDownLoad),
  517.     der entsprechende String und ein zusätzliches Leerzeichen eingesetzt.
  518.     Ist kein FreeDownLoad für diese Area/Gruppe freigegeben wird NICHTS
  519.     eingesetzt. Möglich ist hier "/b ", "/t " oder "/bt ".
  520.  
  521.  
  522.     @DLCOUNTER
  523.     ──────────
  524.     Syntax:     @DLCounter
  525.     Templates:  Nur in der @FORMAT Anweisung der BBS und AREA Templates
  526.  
  527.     Ist in der Konfig ein DownLoadCounter (DLCounter) definiert, wird dieser
  528.     hier eingesetzt, wenn noch nicht vorhanden. Ein vorhandener Counter wird
  529.     unverändert übernommen.
  530.  
  531.     Ist in der Konfig ein DLCounter abgegeben, aber dieses Token nicht
  532.     benutzt, wird ein DLCounter, der zu dem angegebenen Format
  533.     (Rahmenzeichen) passt, gnadenlos entfernt!
  534.  
  535.     Steht kein DLCounter in der Konfig, wird diese Token nicht beachtet.
  536.     BEACHTE: Es wird ein zusätzliches Leerzeichen angehängt, wenn ein
  537.              Downloadcounter eingetragen wird !
  538.  
  539.  
  540.     @AREANAME
  541.     ─────────
  542.     Syntax:     @AreaName
  543.     Templates:  Alle außer TitleTemplate
  544.  
  545.     Hier wird der VOLLE Areaname ausgegeben, also MIT FileDivisions.
  546.     Liegt die Area (sagen wir EDIT) in der Gruppe GFD.APP wird hier dann
  547.     "GFD.APP.EDIT" ausgegeben.
  548.  
  549.  
  550.     @AREATAG
  551.     ────────
  552.     Syntax:     @AreaTag
  553.     Templates:  Alle außer TitleTemplate
  554.  
  555.     Damit kannst Du den Namen der Area ausgeben. Die Gruppe wird hierbei
  556.     nicht ausgegeben.
  557.  
  558.  
  559.     @GROUPTAG
  560.     ─────────
  561.     Syntax:     @GroupTag
  562.     Templates:  Alle außer TitleTemplate
  563.  
  564.     Hier wird der Name der Gruppe ausgegeben, z.B. "GFD.APP".
  565.     Die Area wird nicht ausgegeben.
  566.  
  567.  
  568.     @AREADESC / @GROUPDESC
  569.     ──────────────────────
  570.     Syntax:     @AreaDesc / @GroupDesc
  571.     Templates:  Alle außer TitleTemplate
  572.  
  573.     Damit gibst Du die Beschreibung der Area bzw. der Gruppe aus.
  574.     Die Länge der Beschreibung ist intern auf 50 Zeichen begrenzt.
  575.  
  576.  
  577.     @AREAACS / @GROUPACS
  578.     ────────────────────
  579.     Syntax:     @AreaAcs / @GroupAcs
  580.     Templates:  Alle außer TitleTemplate
  581.  
  582.     Das sind die AccessLevel und Keys der Area, bzw. der Gruppe.
  583.     Hast Du in der Konfig mit USERLEVEL die Level/Key's übersetzt, wird
  584.     hier dieser String eingesetzt. Andernfalls erscheint Level/Keys wie in
  585.     der jeweiliegen Area / Gruppe angegeben.
  586.     Die Länge der Accessstrings ist intern auf 50 Zeichen begrenzt.
  587.     
  588.  
  589.     @OFFLINE
  590.     ────────
  591.     Syntax:     @OffLine
  592.     Templates:  Nur in der @FORMAT Anweisung der AREA Templates
  593.  
  594.     Bei allen "normalen" Filelistern steht an Stelle von Filegröße und Datum
  595.     der "Offline" String, wenn die Datei nicht vorhanden ist.
  596.  
  597.     Da es bei MaxList jedoch möglich ist, die Parameter an beliebige Stelle
  598.     zu setzen, muss hier ein anderes Verfahren benutzt werden, um den in der
  599.     Konfig definierten "Offline" String einzusetzen.
  600.  
  601.     Soll dieser verwendet werden, muss das ganze mit dem Token @Test gemacht
  602.     werden. Das ganze sieht dann wie folgt aus:
  603.  
  604.         @Format(@FileName \
  605.         @Test(@FileSize(),>,0,\
  606.         @FileSize(#######F) @FileDate(DD.MM.YYF),\
  607.         @Adjust("@OffLine",l,17)) @Filedesc(31,79))
  608.  
  609.     Bei MaxList wird Dateigröße mit 0 besetzt, wenn die Datei nicht vorhanden
  610.     ist. (Auch eine 0 Byte Datei gilt als nicht vorhanden !)
  611.     Somit kann geprüft werden, ob FileSize > 0 ist. In diesem Fall wird nach
  612.     dem FileNamen @FileSize(#######F) @FileDate(DD.MM.YYF) eingesetzt.
  613.     Ist die Dateigröße = 0, wird @Adjust("@OffLine",l,17) verwendet.
  614.  
  615.  
  616.     @NEWFNAME
  617.     ─────────
  618.     Syntax:     @NewFName
  619.     Templates:  AREA und BBS Templates, nicht in @FORMAT Anweisung
  620.  
  621.     Name der NEUESTEN Datei in dieser Area.
  622.     Der Name ist in keiner Weise formatiert. Er wird so ausgegeben, wie
  623.     er vorgefunden wurde.
  624.  
  625.  
  626.     @NEWFDATE
  627.     ─────────
  628.     Syntax:     @NewFDate(DateFormat)
  629.     Templates:  AREA und BBS Templates, nicht in @FORMAT Anweisung
  630.  
  631.     Datum der NEUESTEN Datei dieser Area.
  632.     Das Format des Parameters DateFormat ist wie bei @FILEDATE.
  633.  
  634.  
  635.     @NEWFSIZE
  636.     ─────────
  637.     Syntax:     @NewFSize(SizeFormat)
  638.     Templates:  AREA und BBS Templates, nicht in @FORMAT Anweisung
  639.  
  640.     Größe der NEUESTEN Datei dieser Area.
  641.     Das Format des Parameters SizeFormat ist wie bei @FILESIZE.
  642.  
  643.  
  644.     @FILES
  645.     ──────
  646.     Syntax:     @Files
  647.     Templates:  Alle außer in @FORMAT Anweisung
  648.  
  649.     Damit wird die Summe der Dateien (unformatiert) ausgegeben.
  650.     WELCHE Summe erscheint, ist vom jeweiligem Template abhängig:
  651.  
  652.         AREA / BBS  -   Summe der Dateien in dieser Area
  653.         GROUP       -   ... in dieser Gruppe
  654.         REPORT      -   ... in dieser Liste
  655.  
  656.  
  657.     @BYTES
  658.     ──────
  659.     Syntax:     @Bytes(SizeFormat)
  660.     Templates:  Alle außer in @FORMAT Anweisung
  661.  
  662.     Das ist die Summe der Bytes.
  663.     Das Format des Parameters SizeFormat ist wie bei @FILESIZE.
  664.     WELCHE Summe ausgegeben wird, ist vom Template abhängig:
  665.  
  666.         AREA / BBS  -   Summe der Bytes in dieser Area
  667.         GROUP       -   ... in dieser Gruppe
  668.         REPORT      -   ... in dieser Liste
  669.  
  670.  
  671.     @AREAS
  672.     ──────
  673.     Syntax:     @Areas
  674.     Templates:  Nur in GROUP und REPORT
  675.  
  676.     Das ist die Summe der Areas.
  677.     WELCHE Summe ausgegeben wird, ist vom Template abhängig:
  678.  
  679.         GROUP       -   Summe der Areas in dieser Gruppe
  680.         REPORT      -   ... in dieser Liste
  681.  
  682.  
  683.     @GROUPS
  684.     ───────
  685.     Syntax:     @Groups
  686.     Templates:  Nur in REPORT
  687.  
  688.     Das ist die Summe aller Gruppen dieser Liste.
  689.     Hast Du keine FileDivisions, ist die Anzahl der Gruppen gleich 1.
  690.     (MainGroup = Gruppe ohne FileDivisions)
  691.     Diese Gruppe hat keinen Tag, kein ACS und keine Description!
  692.  
  693.  
  694.     @PROGNAME
  695.     ─────────
  696.     Syntax:     @PrgName
  697.     Templates:  Nur in Titel Templates
  698.  
  699.     Ja, ja ... Das wird durch   'MAXLIST+ v#.##'   ersetzt.
  700.     Ich will doch hoffen, das Ihr diese Token IMMER benutzt ;-)
  701.     Das '+' erscheint nur bei der Reg-Version, v#.## ist die Versionsnummer.
  702.  
  703.  
  704.     @DATE
  705.     ─────
  706.     Syntax:     @Date(DateFormat)
  707.     Templates:  Nur in Titel Templates
  708.  
  709.     Mit diesem Token kannst Du das aktuelles Tagesdatum einsetzten.
  710.     Das Format des Parameters DateFormat ist wie bei @FILEDATE.
  711.  
  712.  
  713.     @TIME
  714.     ─────
  715.     Syntax:     @Time(TimeFormat)
  716.     Templates:  Nur in Titel Templates
  717.  
  718.     Mit diesem Token kannst Du die aktuelles Uhrzeit einsetzten.
  719.     Folgende Parameter und Formate sind möglich:
  720.  
  721.         H   - Stunde   00 .. 23
  722.         M   - Minute   00 .. 59
  723.         S   - Sekunde  00 .. 59
  724.         _   - Unterstreichstrich, wird durch ein Leerzeichen ersetzt.
  725.  
  726.     Formatbeispiele:
  727.  
  728.         HH:MM:SS        - 22.17.05
  729.         H:M             - 22:17
  730.         HH:MM.SS_       - 22:17.05_  (_ ist ein Leerzeichen)
  731.  
  732.  
  733.     @DAY
  734.     ────
  735.     Syntax:     @Day
  736.     Templates:  Nur in Titel Templates
  737.  
  738.     Mit diesem Token kannst Du den aktuelles Tagesnamen einsetzten.
  739.     Die Tagesnamen werden so verwendet, die in der Konfig von MaxList
  740.     definiert. Ist keine Übersetzung vorhanden, werden die englischen
  741.     Namen eingesetzt.
  742.  
  743.  
  744.     @NEWFDAYS
  745.     ─────────
  746.     Syntax:     @NewFDays
  747.     Templates:  Nur in Titel Templates
  748.  
  749.     Dieses Token wird durch die Angabe <Tage> bei den Newfileslisten ersetzt.
  750.     Beispiel für die Anwendung findest Du im Template TITLE.TPL
  751.  
  752.  
  753.     @FLAGS
  754.     ──────
  755.     Syntax:     @Flags(FlagFormat)
  756.     Templates:  Nur in Titel Templates
  757.  
  758.     Mit @Flags werden ALLE in der Konfig definierten NewFileFlags (FLAGCHAR)
  759.     ausgegeben. Die einzelnen Flags werden durch ein Komma getrennt.
  760.  
  761.     FlagFormat legt fest, wie die Daten auszugeben sind:
  762.  
  763.         $   - wird durch das Flagzeichen ersetzt
  764.         #   - wird durch die Anzahl der Tage ersetzt
  765.         _   - Unterstreichstrich wird durch ein Leerzeichen ersetzt
  766.     
  767.     Beispiel:
  768.       Du hast in der Konfig von MaxList den Eintrag:
  769.             FlagChar            7,!  14,*  30,+
  770.       und im Template die Angabe
  771.             @Flags($_=_#_days)
  772.  
  773.       dann wird MaxList folgende ausgeben:
  774.       
  775.             ! = 7 days, * = 14 days, + = 30 days.
  776.  
  777.  
  778.     @FONTSTR
  779.     ─────────
  780.     Syntax:     @FontStr(FontName, @ID), @FontStr(FontName)
  781.     Templates:  Alle außer in @FORMAT Anweisung
  782.  
  783.     Damit kannst Du einen beliebigen Text in Grafikzeichen ausgeben.
  784.     Zuvor muss jedoch in der Konfig ein Font geladen sein. (LoadFont).
  785.     Ist KEIN Font geladen, wird auch nichts ausgegeben !
  786.  
  787.     Eine Besonderheit ist zu berücksichtigen:
  788.  
  789.         Ein Fontzeichen besteht aus mehreren Zeilen, die genau untereinander
  790.         stehen müssen. Da jede Ausgabe mit @ADJUST verändert werden kann,
  791.         MUSS für JEDE Zeile ein @FONTSTR Token eingesetzt werden.
  792.  
  793.         Hast Du z.B. einen Font, der 3 Zeilen hoch ist, MUSS an der
  794.         jeweiligen Spalten und Zeilenposition ein weiteres @FONTSTR(FontName)
  795.         eingesetzt werden.
  796.         Der FontName MUSS IMMER angegebene werden, der Parameter @ID
  797.         darf jedoch NUR in der ERSTEN Anweisung stehen !
  798.  
  799.         Beispiel:
  800.             @Adjust("@FontStr(Digi3x5, -'@ListTyp'-)",c,79)@CrLf\
  801.             @Adjust("@FontStr(Digi3x5)",c,79)@CrLf\
  802.             @Adjust("@FontStr(Digi3x5)",c,79)
  803.  
  804.  
  805.     Die Fonts kannst Du mit dem beigefügtem Font-Editor (FNTMAKE(p).EXE)
  806.     selber erstellen. Es sind fünf verschieden Fonts beigefügt.
  807.  
  808.  
  809.     @CRLF
  810.     ─────
  811.     Syntax:     @CrLf
  812.     Templates:  Alle
  813.  
  814.     Damit kannst Du zusätzliche Zeilenumbrüche einfügen.
  815.  
  816.  
  817.     @ADJUST
  818.     ───────
  819.     Syntax:     @Adjust("@ID", L|C|R, Len [, T]);
  820.     Templates:  Alle
  821.  
  822.     @ID kann wiederum jedes Token außer @FILEDESC enthalten.
  823.     Das @ID MUSS in Anführungsstriche gestellt werden.
  824.  
  825.     Beispiel:
  826.         @Adjust("  Das ist ein Test",l,20)  wird zu |  Das ist ein Test|
  827.  
  828.     Es kann Linksbündig "L", Zentriert "C", oder Rechtsbündig "R"
  829.     ausgerichtet werden. Die angegebene Feldlänge "Len" wird entsprechend
  830.     mit Leerzeichen aufgefüllt.
  831.  
  832.     Ist der Optionale Parameter "T" (für Truncate) angegeben, wird der String
  833.     in jedem Fall auf die angegebene Länge "Len" gekürzt.
  834.  
  835.  
  836.     @FILEDESC
  837.     ─────────
  838.     Syntax:     @FileDesc(Links, Rechts [, Zeilen [, T|TF [, PreLine]]])
  839.     Templates:  Nur in den @FORMAT Anweisungen
  840.  
  841.     Damit wird nun die Beschreibung zu den einzelnen Dateien bearbeitet und
  842.     ausgerichtet.
  843.  
  844.     Die Parameter:
  845.         Links       - Der linke Rand der (erweiterten) Beschreibung, also
  846.                       ab der zweiten Zeile.
  847.                       Der Wert kann zwischen 1 und 65535 liegen, muss jedoch
  848.                       kleiner als der Rechte Rand sein.
  849.  
  850.         Rechts      - Der rechte Rand der Beschreibung.
  851.                       Der Wert kann zwischen 1 und 65535 liegen, muss jedoch
  852.                       größer als der linke Rand sein.
  853.  
  854.         Zeilen      - Optional. Damit kannst Du die Anzahl der Zeilen
  855.                       begrenzen. Gut für seitenlange FILE_ID.DIZ.
  856.                       Zeilen = 0 heißt unbegrenzt, was auch Vorgabe ist.
  857.                       Ansonsten kann der Wert zwischen 1 und 65535 liegen.
  858.  
  859.         T oder TF   - Optional. Steht für Truncate, bzw TruncateFirst.
  860.                       Normalerweise wird die Beschreibung komplett neu
  861.                       umgebrochen, wenn sie nicht in die Grenzen
  862.                       (Links - Rechts) passt. Ist "T"runcate angegeben, wird
  863.                       nicht umgebrochen, sondern die zu langen Zeilen werden
  864.                       am rechten Rand abgeschnitten.
  865.  
  866.                       "TF" ist ein HighLight für Leute mit Downloadcounter ;-)
  867.                       Bei TF schneidet MaxList nur die ERSTE Zeile ab, wenn
  868.                       diese über den rechten Rand hinausgeht.
  869.                       Stellt sich allerdings im weiteren Verlauf der
  870.                       Bearbeitung heraus, das die Beschreibung neu umgebrochen
  871.                       werden muss, setzt MaxList zunächst den Teil wieder ein,
  872.                       bevor der Text weiter bearbeitet wird.
  873.  
  874.         PreLine     - Optional. Damit kann z.B. die Liste wie eine Tabelle
  875.                       aufgebaut werden. Alternativ kann PreLine benutzt
  876.                       werden, um ein "+" vor die erweiterte Dateibeschreibung
  877.                       zu setzen. PreLine kann auch ein @ID enthalten.
  878.  
  879.                       Beispiel:
  880.                         @FileDesc(31,79,,,@Adjust("+ ",l,31))
  881.  
  882.                       Die Ausgabe wird dann etwas so aussehen:
  883.                         TEST.ZIP         12K 01.01.80  Eine Testdatei
  884.                                                      + mit Erweiterter                                
  885.                                                      + Beschreibung und
  886.                                                      + einem Pluszeichen
  887.  
  888.                       Noch ein Beispiel:
  889.                         @Format(@FileName│@FileSize(#######)│\
  890.                                 @FileDate(dd.mm.yyf)│\
  891.                                 @FileDesc(31,79,,,@Adjust("│",l,13)\
  892.                                 @Adjust("│",l,8)@Adjust("│",l,10)))
  893.  
  894.                       Die Ausgabe:
  895.                         TEST1.ZIP   │  12351│01.01.80 │Eine Testdatei
  896.                                     │       │         │in Tabellenform
  897.                                     │       │         │mit Linien.
  898.                         ANYFILE.ARJ │  12351│01.01.80 │Noch eine Datei
  899.                                     │       │         │in Tabellenform
  900.  
  901.  
  902. ═══════════════════════════════════════════════════════════════════════════════
  903.  
  904.                             Noch ein Hinweis
  905.                            ══════════════════
  906.  
  907.     Beispiele für den Aufbau findest Du in den beigefügten Templates.
  908.     Diese befinden sich in dem Archiv TEMPLATE.ZIP.
  909.     Du solltest diese in ein eigenes Unterverzeichnis kopieren und in der
  910.     MaxList Konfig ein Define für diesen Pfad benutzen.
  911.  
  912.     Das zuvor Gesagte gilt auch für die Fontdatei und den FontMaker.
  913.     Die Fonts und das Programm FNTMAKE.EXE bzw. FNTMAKEP.EXE für OS/2
  914.     findest Du in dem Archiv FONTS.ZIP. Ebenso eine kurze Anleitung.
  915.  
  916.     Wenn Du einen neuen Font und/oder ein schönes Template entworfen hast,
  917.     solltest Du nicht zögern, diese zu mir zu schicken, damit auch andere
  918.     MaxList User davon profitieren können.
  919.  
  920.  
  921.     Der Autor, Wilfried Brinkmann
  922.  
  923. ────────────────────────────────────────────────────────────────────────────
  924. Template.Doc zu MaxList 2.14                             Stand Dezember 1995
  925.